package _5基本类型封装类;

public class TestDemo {
public static void main(String[] args) {
		
		
		
		
		// 基本类型
		// 				字节			封装类
		// byte 		1			Byte
		// short		2			Short
		// int 			4			Integer
		// long 		8			Long
		
		// float 		4			Float
		// double 		8			Double
		
		// char 		2			Character
				
		// boolean		4			Boolean
		
		
		// 封装类
		// 1. 自动的将基本类型的值放到一个对象中
		// 2. 提供一些有用的方法
		
		int a = 3;
		System.out.println(a);
		
		Integer b = Integer.valueOf(3);
		System.out.println(b);
		
		
		// 常量
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
		System.out.println(Integer.SIZE);
		System.out.println(Integer.TYPE);
		
		
		// 1. 构造方法
		Integer i1 = new Integer(123);
		Integer i2 = new Integer("123");
		Integer i3 = Integer.valueOf(123);
		// Integer.valueOf会缓存-128~127范围内的Integer对象
		// 可以减少创建对象的时间 减少内存的使用
		Integer i4 = 123; // 自动装箱   自动创建一个Integer对象，把数值放入
		
		int i5 = i4; // 自动拆箱  自动从Integer对象中，将数值取出
		
		
		System.out.println(i3==i4); // true			同一对象	
		System.out.println(i1==i3); // false		两个对象	i1是new出来
		
		// 2. 字符串转环
		String str1 = "123";
		Integer i6 = Integer.valueOf(str1);
		int i7 = Integer.parseInt(str1);
		
		
		// 3. 进制
		System.out.println("二进制"+Integer.toBinaryString(i6));
		System.out.println("八进制"+Integer.toOctalString(i6));
		System.out.println("十六进制"+Integer.toHexString(i6));
		
		
		
	}
}